from passlib.context import CryptContext

# 创建密码哈希上下文
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")


# 定义 get_password_hash 函数，用于生成密码的哈希值
def get_password_hash(password):
    """
    使用 bcrypt 生成密码的哈希值。

    :param password: 明文密码
    :return: 哈希后的密码
    """
    return pwd_context.hash(password)


# 定义 verify_password 函数，用于验证明文密码和哈希密码是否匹配
def verify_password(plain_password, hashed_password):
    """
    验证明文密码与哈希密码是否匹配。

    :param plain_password: 明文密码
    :param hashed_password: 哈希后的密码
    :return: 如果密码匹配返回 True，否则返回 False
    """
    return pwd_context.verify(plain_password, hashed_password)
